package com.vae.content.feignclient;

import feign.hystrix.FallbackFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;

/**
 * @author: 35238
 * 功能: 当feign调用异常的时候，也就是MediaServiceClient接口异常的时候，就会走这个MediaServiceClientFallbackFactory类
 * 时间: 2024-06-03 21:19
 */
@Component
public class MediaServiceClientFallbackFactory implements FallbackFactory<MediaServiceClient> {
    @Override
    //熔断时的兜底处理。当feign调用异常的时候，也就是MediaServiceClient接口异常的时候，就会执行这个方法
    public MediaServiceClient create(Throwable throwable) {
        return new MediaServiceClient() {
            @Override
            public String uploadFile(MultipartFile upload, String objectName,Long companyId) {
                System.err.println("xue-content-service模块在远程调用xue-media-api模块时无响应或发生异常，已熔断，相关堆栈信息: "+throwable.toString());
                return null;
            }
        };
    }
}
